1. Field of the Invention
This invention relates generally to telecommunication systems, and, more particularly, to wireless telecommunication systems.
2. Description of the Related Art
Data is transmitted between peers of a wireless telecommunications system according to one or more protocols. For example, a transmitter in a mobile unit may transmit data across an air interface to a receiver in a base station according to a Radio Link Protocol (RLP). In third-generation Code Division Multiple Access (CDMA) 2000 wireless telecommunications systems, data is transmitted over a CDMA 2000 traffic channel according to a Type 3 Radio Link Protocol (RLP). At least in part to reduce transmission overhead, wireless telecommunication protocols such as the Radio Link Protocol are typically pure negative acknowledgment (NAK) protocols. When data frames are transmitted according to a NAK protocol, the receiver does not acknowledge successfully received data frames. However, if the data frame is not received successfully, the receiver requests retransmission of the unsuccessfully received data frame.
Data frames are generally assigned a sequence number. For example, when a call session is established between two peers, the first data frame transmitted by each peer may be given a sequence number of 1. Subsequently transmitted data frames are given sequentially increasing sequence numbers. For example, the tenth frame transmitted by a transmitter in a mobile unit may be given the sequence number 10 and the 2000th frame transmitted by a transmitter in a base station may be given the sequence number 2000. Since each peer may transmit data frames independently, the sequence numbers associated with frames transmitted by peers are not generally related in any predetermined manner.
Each peer maintains a record of various sequence numbers associated with the call session. For example, if first and second peers are communicating over an air interface according to the Type 3 RLP, both peers maintain records of various 12-bit sequence numbers (L_SEQ) associated with the call session. For example, the first peer typically stores a 12-bit sequence number indicative of the next data frame that is needed for sequential delivery of the data frames from the second peer (L_V(N)), an estimate of the 12-bit sequence number indicative of the next data frame required by the second peer for sequential delivery of data frames from the first peer (L_V(N)_peer), a 12-bit sequence number indicative of the next expected new data frame to be provided by the second peer (L_V(R)), and a 12-bit sequence number indicative of the next new data frame expected to be sent by the first peer (L_V(S)). The second peer stores a corresponding set of sequence numbers.
The frames that are transmitted and/or received by the peers also include information indicative of the sequence numbers. In Type 3 RLP, four types of frames may be exchanged between peers. Control frames include SYNC, SYNC/ACK, ACK, and/or NAK control frames. The SYNC, SYNC/ACK, and ACK control frames are exchanged during synchronization procedures to synchronize peers before beginning the data transfer. The NAK control frames are used to send a negative acknowledgment that requests a retransmission of a specified data frame to maintain integrity of the user data. The NAK control frames include at least the sequence number of the requested data frame. Data frames, which may include new and/or retransmitted data frames, include the sequence number associated with the data frame. Fill and/or idle frames may be sent periodically to inform the peers about the sender state for transmitting and/or receiving frames. Fill and/or idle frames may also be sent when no other frames are available for transmission on the associated traffic channel. The sequence number L_SEQ carried by fill frames is typically equal to the next data frame expected by the peer that transmitted the fill frame for sequential delivery of frames from the peer that receives the fill frame (L_V(N)). The sequence number L_SEQ carried by idle frames is typically equal to the sequence number of the next new data frame to be sent by the peer that transmitted the idle frame towards the peer that received the idle frame (L_V(S)).
Receivers in the peers use a rate determination algorithm to detect and/or code the received physical frames. One such physical frame is rate-⅛ physical CDMA frame containing two bytes of payload. Rate-⅛ physical CDMA frames typically do not carry any error checking bits, such as CRC bits, to detect corruption of the physical frame. The fill and idle frames carry two-byte payloads and thus only require rate-⅛ physical CDMA frames on a fundicated CDMA traffic channel. However, the fill and idle frames do not carry any CRC checks that would enable the controller to detect corruption of the fill and/or idle frames. Furthermore, a large number of fill and/or idle frames may be transmitted over the fundicated traffic channel because these frames are sent when no other frames are available for transmission on the fundicated traffic channel. The combination of a large number of fill and idle frames and the inability to detect corruption of these types of frames may result in a corrupted fill and/or idle frame being treated as a good frame.
In many cases, treating a corrupted fill and/or idle frame as a good frame causes the transmission protocol to initiate a reset procedure that initializes the RLP and performs a synchronization exchange procedure. For example, in the Type 3 RLP, the peer performs the reset procedure if the value of L_SEQ indicated by the corrupted bits in the idle frame is less than L_V(N). For another example, the peer performs the reset procedure when the value of L_V(N)_peer computed using the corrupted fill frame is greater than L_V(S). For yet another example, if the value of L_SEQ indicated by the corrupted idle frame is larger than L_V(R), the receiving peer sends a negative acknowledgment requesting retransmission of the frames between the sequence numbers L_V(R) and L_SEQ from the peer that sent the idle frame. Since these frames were never sent by the peer that sent the idle frame, this peer initiates the reset procedure.
Resets may cause unnecessary degradation in user level throughput for data services in a wireless telecommunications system, which may also degrade the overall performance and efficiency of the wireless telecommunications system. For example, all send and receive state variables may be reset to zero during the reset procedure. Resequencing buffers may also be cleared and data frames queued for retransmission may be discarded. If data compression is used by the wireless telecommunications system, clearing of the queued data frames and resetting the send/receive states may cause the PPP data compression history to become corrupted, resulting in additional user data loss. The Van Jacobson TCP/IP header compression history may also be corrupted, resulting in user data loss for TCP-based applications.
The present invention is directed towards addressing the effects of one or more of the problems set forth above.